package com.igeek.util;

/**
 *  枚举：统一处理系统中业务逻辑的反馈信息
 *  反馈信息可以由：业务代码-详细说明 组成
 *  例：
 *      0-表示操作成功
 *      1-表示用户名或密码输入错误
 *      2-表示账户余额不足
 *  基本语法：
 *      无参：
 *          声明多个属性，这些属性代表了不同的状态，
 *          属性之间使用逗号隔开，使用冒号作为结束
 *          属性的命名规则，全部大写，单词之间使用下划线分割
 *      有参：
 *          声明全局变量，声明有参的构造函数
 *          表示不同状态的属性，就需要使用类似方法调用的形式：属性名(全局变量的参数值列表)
 *
 *      其他类的调用：
 *          无参：枚举类.属性
 *          有参：枚举类.属性.全局变量
 *  枚举的作用：
 *      一个类中，列举出所有的情况或者是例子，每种情况的值都声明好
 *      再次调用时，就可以根据业务场景，去使用不同的例子
 *      好处就是，一个程序中，所有的维护都放到了一个指定的地方
 */
public enum MsgEnumTest {

    FRONT(1,"前"),
    BACK(2,"后"),
    LEFT(3,"左"),
    RIGHT(4,"右");

    public int code;

    public String msg;

     MsgEnumTest(int code,String msg){
        this.code = code;
        this.msg = msg;
    }

}
class Test{
    public static void main(String[] args) {

        //用户输入了一个字：向前
        String word = "前";
        if("前".equals(word)){
            int code = MsgEnumTest.FRONT.code;
            String msg = MsgEnumTest.FRONT.msg;
        }
    }
}